<?xml version="1.0"?>
<Schema name="FDTModbusAddressSchema" xmlns="urn:schemas-microsoft-com:xml-data" xmlns:dt="urn:schemas-microsoft-com:datatypes" xmlns:fdt="x-schema:FDTDataTypesSchema.xml">

<!--  Address schema for Modbus protocol V1.0 -->
<!-- This additional schema describes the different methods of addressing for Modbus TCP and Modbus Serial Line Devices  -->

	<AttributeType name = "schemaVersion" dt:type = "number" default = "1.0"/>
	
    <!--Definition of attributes for Modbus addressing-->

	<!-- Slave address for Modbus Serial Line -->
	<AttributeType name="slaveAddress" dt:type="ui1"/>
	<!-- IP address for Modbus TCP -->
	<AttributeType name="tcpAddress" dt:type="string"/>
    <!-- TCP Port for Modbus TCP (default 502) -->
	<AttributeType name="tcpPort" dt:type="ui2" default = "502"/>


	<ElementType name="ModbusTCP" content="mixed" model="closed">
		<attribute type="fdt:nodeId" required="no"/>
		<attribute type="tcpAddress" required="yes"/>
        <attribute type="tcpPort" required="no"/>
        <attribute type="slaveAddress" required="no"/>
	</ElementType>

	<ElementType name="ModbusSerial" content="mixed" model="closed">
		<attribute type="fdt:nodeId" required="no"/>
		<attribute type="slaveAddress" required="yes"/>
	</ElementType>

</Schema>
